/***********************************************************************\
*                                                                       *
* This file was created by Component Internal Interface Engine software *
*  Copyright(c) 2000-2006 by Krzysztof Pozniak (pozniak@ise.pw.edu.pl)  *
*                           All Rights Reserved.                        *
*                                                                       *
\***********************************************************************/

package cii_opto;

import cii_lib.*;

public class CCII_PART_DATA_TRANSCEIVER {

  public CCII_COMPONENT _CII_PART_DATA_TRANSCEIVER;

  private CCII_ACCESS_IPAR _IPAR_PART_WIDTH;
  private CCII_ACCESS_IPAR _IPAR_PART_NUM;
  private CCII_ACCESS_IPAR _IPAR_CHECK_WIDTH;
  private CCII_ACCESS_LPAR _LPAR_TX_INPUT_REGISTERED;
  private CCII_ACCESS_LPAR _LPAR_TX_OUTPUT_REGISTERED;
  public class CMPAR_TX_SWAP_ENA_CII extends CCII_ACCESS_MPAR {
    public CMPAR_TX_SWAP_ENA_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_TX_SWAP_ENA_CII _MPAR_TX_SWAP_ENA_CII;
  public class CMPAR_TX_CHECK_ENA_CII extends CCII_ACCESS_MPAR {
    public CMPAR_TX_CHECK_ENA_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_TX_CHECK_ENA_CII _MPAR_TX_CHECK_ENA_CII;
  public class CMPAR_TX_CHECK_DATA_CII extends CCII_ACCESS_MPAR {
    public CMPAR_TX_CHECK_DATA_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_TX_CHECK_DATA_CII _MPAR_TX_CHECK_DATA_CII;
  public class CMPAR_TX_CHECK_DATA_ENA_CII extends CCII_ACCESS_MPAR {
    public CMPAR_TX_CHECK_DATA_ENA_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_TX_CHECK_DATA_ENA_CII _MPAR_TX_CHECK_DATA_ENA_CII;
  public class CMPAR_TX_TEST_ENA_CII extends CCII_ACCESS_MPAR {
    public CMPAR_TX_TEST_ENA_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_TX_TEST_ENA_CII _MPAR_TX_TEST_ENA_CII;
  public class CMPAR_TX_TEST_RAND_ENA_CII extends CCII_ACCESS_MPAR {
    public CMPAR_TX_TEST_RAND_ENA_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_TX_TEST_RAND_ENA_CII _MPAR_TX_TEST_RAND_ENA_CII;
  public class CMPAR_TX_TEST_DATA_CII extends CCII_ACCESS_MPAR {
    public CMPAR_TX_TEST_DATA_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_TX_TEST_DATA_CII _MPAR_TX_TEST_DATA_CII;
  private CCII_ACCESS_IPAR _IPAR_RX_DELAY_LENGTH;
  private CCII_ACCESS_LPAR _LPAR_RX_INPUT_REGISTERED;
  private CCII_ACCESS_LPAR _LPAR_RX_INDELAY_REGISTERED;
  private CCII_ACCESS_LPAR _LPAR_RX_OUTDELAY_REGISTERED;
  private CCII_ACCESS_LPAR _LPAR_RX_OUTPUT_REGISTERED;
  public class CMPAR_RX_DELAY_CII extends CCII_ACCESS_MPAR {
    public CMPAR_RX_DELAY_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_RX_DELAY_CII _MPAR_RX_DELAY_CII;
  public class CMPAR_RX_CLK_INV_CII extends CCII_ACCESS_MPAR {
    public CMPAR_RX_CLK_INV_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_RX_CLK_INV_CII _MPAR_RX_CLK_INV_CII;
  public class CMPAR_RX_SWAP_ENA_CII extends CCII_ACCESS_MPAR {
    public CMPAR_RX_SWAP_ENA_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_RX_SWAP_ENA_CII _MPAR_RX_SWAP_ENA_CII;
  public class CMPAR_RX_CHECK_ENA_CII extends CCII_ACCESS_MPAR {
    public CMPAR_RX_CHECK_ENA_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_RX_CHECK_ENA_CII _MPAR_RX_CHECK_ENA_CII;
  public class CMPAR_RX_CHECK_DATA_ENA_CII extends CCII_ACCESS_MPAR {
    public CMPAR_RX_CHECK_DATA_ENA_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_RX_CHECK_DATA_ENA_CII _MPAR_RX_CHECK_DATA_ENA_CII;
  public class CMPAR_RX_TEST_ENA_CII extends CCII_ACCESS_MPAR {
    public CMPAR_RX_TEST_ENA_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_RX_TEST_ENA_CII _MPAR_RX_TEST_ENA_CII;
  public class CMPAR_RX_TEST_RAND_ENA_CII extends CCII_ACCESS_MPAR {
    public CMPAR_RX_TEST_RAND_ENA_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_RX_TEST_RAND_ENA_CII _MPAR_RX_TEST_RAND_ENA_CII;
  private CCII_ACCESS_LPAR _LPAR_RX_VALID_CII;
  private CCII_ACCESS_LPAR _LPAR_RX_TEST_DATA_CII;
  private CCII_ACCESS_IPAR _IPAR_TRANSM_DATA_WIDTH;
  private CCII_ACCESS_IPAR _IPAR_DATA_WIDTH;
  private CCII_ACCESS_IPAR _IPAR_RX_DELAY_WIDTH;
  private CCII_PART_DATA_SENDER[] _COMP_TX;
  private CCII_PART_DATA_RECEIVER[] _COMP_RX;
  public CCII_PART_DATA_TRANSCEIVER(CCII_TABLE_INDEX itab, int cidx, CCII_INTERFACE interf, CCII_COMPONENT parent) {
    _CII_PART_DATA_TRANSCEIVER=new CCII_COMPONENT(itab,cidx,parent);
    _IPAR_PART_WIDTH=null;
    _IPAR_PART_NUM=null;
    _IPAR_CHECK_WIDTH=null;
    _LPAR_TX_INPUT_REGISTERED=null;
    _LPAR_TX_OUTPUT_REGISTERED=null;
    _MPAR_TX_SWAP_ENA_CII=null;
    _MPAR_TX_CHECK_ENA_CII=null;
    _MPAR_TX_CHECK_DATA_CII=null;
    _MPAR_TX_CHECK_DATA_ENA_CII=null;
    _MPAR_TX_TEST_ENA_CII=null;
    _MPAR_TX_TEST_RAND_ENA_CII=null;
    _MPAR_TX_TEST_DATA_CII=null;
    _IPAR_RX_DELAY_LENGTH=null;
    _LPAR_RX_INPUT_REGISTERED=null;
    _LPAR_RX_INDELAY_REGISTERED=null;
    _LPAR_RX_OUTDELAY_REGISTERED=null;
    _LPAR_RX_OUTPUT_REGISTERED=null;
    _MPAR_RX_DELAY_CII=null;
    _MPAR_RX_CLK_INV_CII=null;
    _MPAR_RX_SWAP_ENA_CII=null;
    _MPAR_RX_CHECK_ENA_CII=null;
    _MPAR_RX_CHECK_DATA_ENA_CII=null;
    _MPAR_RX_TEST_ENA_CII=null;
    _MPAR_RX_TEST_RAND_ENA_CII=null;
    _LPAR_RX_VALID_CII=null;
    _LPAR_RX_TEST_DATA_CII=null;
    _IPAR_TRANSM_DATA_WIDTH=null;
    _IPAR_DATA_WIDTH=null;
    _IPAR_RX_DELAY_WIDTH=null;
    _COMP_TX=null;
    _COMP_RX=null;
    int _cnum_;
    if(_CII_PART_DATA_TRANSCEIVER.Number()==0) return;
    _IPAR_PART_WIDTH = new CCII_ACCESS_IPAR(itab,_CII_PART_DATA_TRANSCEIVER);
    _IPAR_PART_NUM = new CCII_ACCESS_IPAR(itab,_CII_PART_DATA_TRANSCEIVER);
    _IPAR_CHECK_WIDTH = new CCII_ACCESS_IPAR(itab,_CII_PART_DATA_TRANSCEIVER);
    _LPAR_TX_INPUT_REGISTERED = new CCII_ACCESS_LPAR(itab,_CII_PART_DATA_TRANSCEIVER);
    _LPAR_TX_OUTPUT_REGISTERED = new CCII_ACCESS_LPAR(itab,_CII_PART_DATA_TRANSCEIVER);
    _MPAR_TX_SWAP_ENA_CII = new CMPAR_TX_SWAP_ENA_CII(itab,_CII_PART_DATA_TRANSCEIVER);
    _MPAR_TX_CHECK_ENA_CII = new CMPAR_TX_CHECK_ENA_CII(itab,_CII_PART_DATA_TRANSCEIVER);
    _MPAR_TX_CHECK_DATA_CII = new CMPAR_TX_CHECK_DATA_CII(itab,_CII_PART_DATA_TRANSCEIVER);
    _MPAR_TX_CHECK_DATA_ENA_CII = new CMPAR_TX_CHECK_DATA_ENA_CII(itab,_CII_PART_DATA_TRANSCEIVER);
    _MPAR_TX_TEST_ENA_CII = new CMPAR_TX_TEST_ENA_CII(itab,_CII_PART_DATA_TRANSCEIVER);
    _MPAR_TX_TEST_RAND_ENA_CII = new CMPAR_TX_TEST_RAND_ENA_CII(itab,_CII_PART_DATA_TRANSCEIVER);
    _MPAR_TX_TEST_DATA_CII = new CMPAR_TX_TEST_DATA_CII(itab,_CII_PART_DATA_TRANSCEIVER);
    _IPAR_RX_DELAY_LENGTH = new CCII_ACCESS_IPAR(itab,_CII_PART_DATA_TRANSCEIVER);
    _LPAR_RX_INPUT_REGISTERED = new CCII_ACCESS_LPAR(itab,_CII_PART_DATA_TRANSCEIVER);
    _LPAR_RX_INDELAY_REGISTERED = new CCII_ACCESS_LPAR(itab,_CII_PART_DATA_TRANSCEIVER);
    _LPAR_RX_OUTDELAY_REGISTERED = new CCII_ACCESS_LPAR(itab,_CII_PART_DATA_TRANSCEIVER);
    _LPAR_RX_OUTPUT_REGISTERED = new CCII_ACCESS_LPAR(itab,_CII_PART_DATA_TRANSCEIVER);
    _MPAR_RX_DELAY_CII = new CMPAR_RX_DELAY_CII(itab,_CII_PART_DATA_TRANSCEIVER);
    _MPAR_RX_CLK_INV_CII = new CMPAR_RX_CLK_INV_CII(itab,_CII_PART_DATA_TRANSCEIVER);
    _MPAR_RX_SWAP_ENA_CII = new CMPAR_RX_SWAP_ENA_CII(itab,_CII_PART_DATA_TRANSCEIVER);
    _MPAR_RX_CHECK_ENA_CII = new CMPAR_RX_CHECK_ENA_CII(itab,_CII_PART_DATA_TRANSCEIVER);
    _MPAR_RX_CHECK_DATA_ENA_CII = new CMPAR_RX_CHECK_DATA_ENA_CII(itab,_CII_PART_DATA_TRANSCEIVER);
    _MPAR_RX_TEST_ENA_CII = new CMPAR_RX_TEST_ENA_CII(itab,_CII_PART_DATA_TRANSCEIVER);
    _MPAR_RX_TEST_RAND_ENA_CII = new CMPAR_RX_TEST_RAND_ENA_CII(itab,_CII_PART_DATA_TRANSCEIVER);
    _LPAR_RX_VALID_CII = new CCII_ACCESS_LPAR(itab,_CII_PART_DATA_TRANSCEIVER);
    _LPAR_RX_TEST_DATA_CII = new CCII_ACCESS_LPAR(itab,_CII_PART_DATA_TRANSCEIVER);
    _IPAR_TRANSM_DATA_WIDTH = new CCII_ACCESS_IPAR(itab,_CII_PART_DATA_TRANSCEIVER);
    _IPAR_DATA_WIDTH = new CCII_ACCESS_IPAR(itab,_CII_PART_DATA_TRANSCEIVER);
    _IPAR_RX_DELAY_WIDTH = new CCII_ACCESS_IPAR(itab,_CII_PART_DATA_TRANSCEIVER);
    _COMP_TX = new CCII_PART_DATA_SENDER[_cnum_=Math.max(itab.GetItem().Repeat,1)];
    for (int count=0; count<_cnum_; count ++)
      _COMP_TX[count]=new CCII_PART_DATA_SENDER(itab,count,interf,_CII_PART_DATA_TRANSCEIVER);
    _COMP_RX = new CCII_PART_DATA_RECEIVER[_cnum_=Math.max(itab.GetItem().Repeat,1)];
    for (int count=0; count<_cnum_; count ++)
      _COMP_RX[count]=new CCII_PART_DATA_RECEIVER(itab,count,interf,_CII_PART_DATA_TRANSCEIVER);
  }
  public CCII_COMPONENT CII_PART_DATA_TRANSCEIVER() {return(_CII_PART_DATA_TRANSCEIVER.Number()==0?null:_CII_PART_DATA_TRANSCEIVER);};
  public CCII_ACCESS_IPAR IPAR_PART_WIDTH() {return(_IPAR_PART_WIDTH);};
  public CCII_ACCESS_IPAR IPAR_PART_NUM() {return(_IPAR_PART_NUM);};
  public CCII_ACCESS_IPAR IPAR_CHECK_WIDTH() {return(_IPAR_CHECK_WIDTH);};
  public CCII_ACCESS_LPAR LPAR_TX_INPUT_REGISTERED() {return(_LPAR_TX_INPUT_REGISTERED);};
  public CCII_ACCESS_LPAR LPAR_TX_OUTPUT_REGISTERED() {return(_LPAR_TX_OUTPUT_REGISTERED);};
  public CMPAR_TX_SWAP_ENA_CII MPAR_TX_SWAP_ENA_CII() {return(_MPAR_TX_SWAP_ENA_CII);};
  public CMPAR_TX_CHECK_ENA_CII MPAR_TX_CHECK_ENA_CII() {return(_MPAR_TX_CHECK_ENA_CII);};
  public CMPAR_TX_CHECK_DATA_CII MPAR_TX_CHECK_DATA_CII() {return(_MPAR_TX_CHECK_DATA_CII);};
  public CMPAR_TX_CHECK_DATA_ENA_CII MPAR_TX_CHECK_DATA_ENA_CII() {return(_MPAR_TX_CHECK_DATA_ENA_CII);};
  public CMPAR_TX_TEST_ENA_CII MPAR_TX_TEST_ENA_CII() {return(_MPAR_TX_TEST_ENA_CII);};
  public CMPAR_TX_TEST_RAND_ENA_CII MPAR_TX_TEST_RAND_ENA_CII() {return(_MPAR_TX_TEST_RAND_ENA_CII);};
  public CMPAR_TX_TEST_DATA_CII MPAR_TX_TEST_DATA_CII() {return(_MPAR_TX_TEST_DATA_CII);};
  public CCII_ACCESS_IPAR IPAR_RX_DELAY_LENGTH() {return(_IPAR_RX_DELAY_LENGTH);};
  public CCII_ACCESS_LPAR LPAR_RX_INPUT_REGISTERED() {return(_LPAR_RX_INPUT_REGISTERED);};
  public CCII_ACCESS_LPAR LPAR_RX_INDELAY_REGISTERED() {return(_LPAR_RX_INDELAY_REGISTERED);};
  public CCII_ACCESS_LPAR LPAR_RX_OUTDELAY_REGISTERED() {return(_LPAR_RX_OUTDELAY_REGISTERED);};
  public CCII_ACCESS_LPAR LPAR_RX_OUTPUT_REGISTERED() {return(_LPAR_RX_OUTPUT_REGISTERED);};
  public CMPAR_RX_DELAY_CII MPAR_RX_DELAY_CII() {return(_MPAR_RX_DELAY_CII);};
  public CMPAR_RX_CLK_INV_CII MPAR_RX_CLK_INV_CII() {return(_MPAR_RX_CLK_INV_CII);};
  public CMPAR_RX_SWAP_ENA_CII MPAR_RX_SWAP_ENA_CII() {return(_MPAR_RX_SWAP_ENA_CII);};
  public CMPAR_RX_CHECK_ENA_CII MPAR_RX_CHECK_ENA_CII() {return(_MPAR_RX_CHECK_ENA_CII);};
  public CMPAR_RX_CHECK_DATA_ENA_CII MPAR_RX_CHECK_DATA_ENA_CII() {return(_MPAR_RX_CHECK_DATA_ENA_CII);};
  public CMPAR_RX_TEST_ENA_CII MPAR_RX_TEST_ENA_CII() {return(_MPAR_RX_TEST_ENA_CII);};
  public CMPAR_RX_TEST_RAND_ENA_CII MPAR_RX_TEST_RAND_ENA_CII() {return(_MPAR_RX_TEST_RAND_ENA_CII);};
  public CCII_ACCESS_LPAR LPAR_RX_VALID_CII() {return(_LPAR_RX_VALID_CII);};
  public CCII_ACCESS_LPAR LPAR_RX_TEST_DATA_CII() {return(_LPAR_RX_TEST_DATA_CII);};
  public CCII_ACCESS_IPAR IPAR_TRANSM_DATA_WIDTH() {return(_IPAR_TRANSM_DATA_WIDTH);};
  public CCII_ACCESS_IPAR IPAR_DATA_WIDTH() {return(_IPAR_DATA_WIDTH);};
  public CCII_ACCESS_IPAR IPAR_RX_DELAY_WIDTH() {return(_IPAR_RX_DELAY_WIDTH);};
  public CCII_PART_DATA_SENDER COMP_TX(int num) {return(_COMP_TX[num].CII_PART_DATA_SENDER()==null?null:_COMP_TX[num]);};
  public CCII_PART_DATA_RECEIVER COMP_RX(int num) {return(_COMP_RX[num].CII_PART_DATA_RECEIVER()==null?null:_COMP_RX[num]);};
}
